3fe0f337380dce7ea9d4734012d1effc038040c9,findbugs/src/java/edu/umd/cs/findbugs/ba/IsNullValueAnalysis.java,IsNullValueAnalysis,transferInstruction,#InstructionHandle#BasicBlock#IsNullValueFrame#,79

Before Change


		throws DataflowAnalysisException {

		visitor.setFrame(fact);
		handle.getInstruction().accept(visitor);

	}

After Change


		throws DataflowAnalysisException {

		visitor.setFrame(fact);
		Instruction ins = handle.getInstruction();
		ins.accept(visitor);

		// Special case:
		// The instruction may have produced previously seen values
		// about which new is-null information is known.
		// If any other instances of the produced values exist,
		// update their is-null information.
		int numProduced = ins.produceStack(methodGen.getConstantPool());
		if (numProduced == Constants.UNPREDICTABLE)
			throw new AnalysisException("Unpredictable stack production", methodGen, handle);

		int start = fact.getNumSlots() - numProduced;